/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* E.P. Scene Graph
* Developed by:
*       - Eduardo Ribeiro (eribeiro @ tecgraf . puc-rio . br)
*       - Peter Dam (peter @ tecgraf . puc-rio . br)
* File: Transform.h
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef _EPSG_TRANSFORM_
#define _EPSG_TRANSFORM_

#include "EPSG/Mat4.h"
#include "EPSG/Group.h"

namespace EPSG
{
	class Transform : public Group
	{
	public:
		/* [CONSTRUCTOR] */	Transform();

		void				setupCamera();
		void				setupLights();
		void				render();

		void				translate( float x, float y, float z );
		void				rotate( float angle, float x, float y, float z );
		void				rotate( float x, float y, float z );
		void				scale( float x, float y, float z );

		virtual std::string getType();

	private:
		Mat4<float>			_tMatrix;
	};
}

#endif //_EPSG_TRANSFORM_